import errno
import threading
from xen.lowlevel import xs
-
-handles = {}
-
-# XXX need to g/c handles from dead threads
-def xshandle():
- if not handles.has_key(threading.currentThread()):
- handles[threading.currentThread()] = xs.open()
- return handles[threading.currentThread()]
+from xen.xend.xenstore.xsutil import xshandle
class xstransact:
def _list(self, key):
path = "%s/%s" % (self.path, key)
- return map(lambda x: key + "/" + x, xshandle().ls(path))
+ l = xshandle().ls(path)
+ if l:
+ return map(lambda x: key + "/" + x, l)
+ return []
def list(self, *args):
if len(args) == 0:
Write = classmethod(Write)
- def Remove(cls, *args):
+ def Remove(cls, path, *args):
while True:
try:
t = cls(path)
--- /dev/null
+# Copyright (C) 2005 Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
+
+# This file is subject to the terms and conditions of the GNU General
+# Public License. See the file "COPYING" in the main directory of
+# this archive for more details.
+
+import threading
+from xen.lowlevel import xs
+
+handles = {}
+
+# XXX need to g/c handles from dead threads
+def xshandle():
+ if not handles.has_key(threading.currentThread()):
+ handles[threading.currentThread()] = xs.open()
+ return handles[threading.currentThread()]
+
+
+def IntroduceDomain(domid, page, port, path):
+ return xshandle().introduce_domain(domid, page, port, path)